﻿// 结构性设计模式：适配器设计模式
/*
 应用场景：
在软件系统中，经常会需要将一些现成的对象放到新的环境中使用，但是新的环境要求的接口，是这些现存对象所不能满足的。
如何能利用现有的对象，又能满足新的引用环境所需的接口？

适配器优点：
更好的复用性。如果功能已经存在，只是接口不兼容，通过适配器模式就可以让这些功能得到更好的复用。

适配器缺点：
由于Adapter的存在，会提供系统的复杂度。
 */
Console.WriteLine("适配器设计模式!");
IPhoneCharge phoneCharge=new  PhoneChargeAdapter();
phoneCharge.PhoneCharge();

public class AndroidChargeAdapte
{
    public void AndroidCharge()
    {
        Console.WriteLine("安卓充电线充电！");
    }
}
public interface IPhoneCharge
 {
    public void PhoneCharge();    
}

public class PhoneChargeAdapter : IPhoneCharge
{
    //在adapter中封装了一个adapte对象，这个对象才是实现功能的对象；
    private AndroidChargeAdapte androidChargeAdapte=new AndroidChargeAdapte();
    public void PhoneCharge()
    {
        androidChargeAdapte.AndroidCharge();    
    }
}
